package com.wjm.api.properties;

/**
 * Data:2022年07月31日
 * Author:wjm
 * Content: Properties（用于写配置文件的工具类）
 *
 *
 *  Properties继承与Hashtable，是Map的分支实现，在java.unit包下，表示了一个持久的属性集。Properties 可保存在流中或从流中加载。
 *  属性列表中每个键及其对应值都是一个字符串，Properties类被许多java类使用，例如在获取环境变量时，它作为System.getProperties()的返回值。
 *
 *
 *  Properties作为集合的特有方法：
 *          Object setProperty(String key,String value)
 *                 设置集合的键和值，都是String类型的，底层调用的是Hashtable的put方法
 *          String getProperty(String key)
 *                 使用此属性列表中指定的键搜索属性
 *          Set<String> stringPropertyNames()
 *                 从该属性列表中返回一个不可修改的键集，其中键及其对应的值是字符串
 *
 *
 *  应用场景：
 *          该类主要用于读取java配置文件，不同的编程语言都有自己所支持的配置文件，properties文件就是java所支持的。配置文件中很多变量都是
 *          要经常修改的，为了方便用户的配置，能让用户脱离程序本身去修改相关变量设置，或相关方法执行。在Java中其配置文件常为.properties文
 *          件，是以键值对的形式进行参数的配置的
 *
 *
 *  注意：
 *          因为 Properties 继承于 Hashtable，所以可对 Properties 对象应用 put 和 putAll 方法。但不建议使用这两个方法，因为它们允许调
 *          用者插入其键或值不是 String 的项。相反，应该使用 setProperty 方法。如果在“不安全”的 Properties 对象（即包含非 String 的键或值）
 *          上调用 store 或 save 方法，则该调用将失败。类似地，如果在“不安全”的 Properties 对象（即包含非 String 的键）上调用
 *          propertyNames 或 list 方法，则该调用将失败。
 *
 */
public class PropertiesDemo {
}
